Methods and apparatus to identify a type of media presented by a media player

ABSTRACT

Methods and apparatus to identify a type of media presented by a media player are disclosed herein. Example instructions cause one or more processors to at least determine whether a user attempted to activate a user-selectable media application control presented in a user interface while a media player application presented media; determine whether the user-selectable media application control presented in the user interface was activated; and determine at least one of the media is an advertisement or the media includes an advertisement when (a) the user attempted to activate the user-selectable media application control and (b) the user-selectable media application control presented in the user interface was not activated.

RELATED APPLICATION

This patent arises from a continuation of U.S. patent application Ser.No. 17/195,421, entitled “METHODS AND APPARATUS TO IDENTIFY A TYPE OFMEDIA PRESENTED BY A MEDIA PLAYER,” filed on Mar. 8, 2021, which is acontinuation of U.S. patent application Ser. No. 16/175,476, entitled“METHODS AND APPARATUS TO IDENTIFY A TYPE OF MEDIA PRESENTED BY A MEDIAPLAYER,” filed on Oct. 30, 2018, which is a continuation of U.S. patentapplication Ser. No. 13/840,807, entitled “METHODS AND APPARATUS TOIDENTIFY A TYPE OF MEDIA PRESENTED BY A MEDIA PLAYER,” filed on Mar. 15,2013. Priority to U.S. patent application Ser. Nos. 17/195,421,16/175,476, 13/840,807 is claimed. U.S. patent application Ser. Nos.17/195,421, 16/175,476, 13/840,807 are herein incorporated by referencein their entirety.

FIELD OF THE DISCLOSURE

This disclosure relates generally to metering advertisements, and, moreparticularly, to metering advertisements streamed in a media player.

BACKGROUND

Media players on electronic devices (e.g., smartphones, tabletcomputers, computers, etc.) enable access to a wide range of media. Themedia can be streamed from the Internet via a browser or an applicationdedicated for streaming media or playing media.

Many media streaming websites or applications stream advertisementsalong with content selected for presentation by a viewer or machine(e.g., web crawler). For example, if a viewer chooses to view a video onYouTube™, an advertisement may be streamed in a media player application154 of YouTube™ before the chosen video is presented.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example data system with a media deviceincluding a media type identifier constructed in accordance with theteachings of this disclosure.

FIG. 2 is an illustration of an example media player application 154display presented by the media device of FIG. 1 .

FIG. 3 is a block diagram of an example implementation of the media typeidentifier of FIG. 1 .

FIG. 4 is a flowchart representation of example machine readableinstructions that may be executed to implement the example media typeidentifier of FIG. 3 .

FIG. 5 is a flowchart representation of example machine readableinstructions that may be executed to implement an example control stateanalyzer of FIG. 3 .

FIG. 6 is a flow chart representation of example machine readableinstructions that may be executed to implement a media type analyzer ofFIG. 3 .

FIG. 7 is a block diagram of an example processing system capable ofexecuting the example machine readable instructions of FIGS. 4, 5, 6 ,and/or 7 to implement the example media type identifier of FIG. 3 .

DETAILED DESCRIPTION

Example methods and apparatus disclosed herein determine a type of mediapresented in a media player (or media player application 154) based onan ability to manipulate (e.g., select, activate, deactivate, adjust,etc.) a control of the media player. An example method includesdetermining if a media application control is selectable when media ispresented by the media player application 154; and determining whetherthe media presented includes a specified type of media in response todetermining if the media application control is selectable.

An example apparatus includes a control state analyzer to determine if acontrol of media player is selectable when the media player ispresenting media, and a media type analyzer to determine that the mediais a specified type of media in response to determining that the controlis selectable or not selectable.

In some examples an image analyzer is used to process an image of amedia player application 154 to identify if a control is selectablebased on the appearance of a corresponding control indicator. In someexamples, control data monitor is used to monitor a stream of data tothe media player that includes control data indicating whether a controlis enabled or disabled.

Example methods and apparatus disclosed herein may identify whether anadvertisement or media including an advertisement is presented by amedia player or media player application 154. Considering the everincreasing amount of media that is accessible to potential audiencemembers via the Internet, “on-demand” applications, or other similartechnologies, there is a great opportunity for advertising. Accordingly,many, but not all media that can be downloaded, streamed, or viewedincludes an advertisement. Determination of the presence of anadvertisement in downloaded or streamed media may be beneficial toentities, such as audience measurement entities (e.g., The NielsenCompany). Knowing which pieces of media include an advertisement andwhich pieces of media do not include an advertisement may enable suchentities to process (e.g., determine an advertisement source or creator)fewer videos by only processing the videos determined to include anadvertisement.

FIG. 1 is a block diagram of an example data system 100 for an examplemedia device 102 including an example media type identifier 110constructed in accordance with the teachings of this disclosure. Theexample media device 102 may be a smartphone, a television, an MP3player (e.g., an iPod™), a tablet computer, a computer, a web crawler(such as the web crawler of U.S. Publication No. 2009/0259926, hereinincorporated by reference), etc. The example data system 100 includesthe media device 102, an example network 120 (e.g., a local area network(LAN), a wide area network (WAN), the Internet, etc.), and an exampledata collection facility 130. The example media device 102 maycommunicate with the data collection facility 130 directly and/or viathe network 120.

The example media device 102 includes an example network interface 104,an example data storage device 106, an example device controller 108, anexample media type identifier 110, an example data input/output 112, anexample audio/video output 114 (e.g., a display (e.g., a speaker, aliquid crystal display (LCD), a light-emitting diode (LED) display,etc.), an example user interface 116, and an example media presenter150. An example communication bus 160 facilitates communication betweenthe network interface 104, the data storage device 106, the devicecontroller 108, the data input/output 112, the audio/video output 114,the user interface 116, and/or the media presenter 150. The examplemedia presenter 150 includes an example media controller 152 and anexample media player application 154. In the illustrated example of FIG.1 , the media device 102 receives media from the network 120 (e.g.,media streamed and/or downloaded from the Internet) via the networkinterface 104. In some examples, the media device 102 receives media viathe data input/output 112 from another device (e.g., a flash drive, amobile device, a digital camera or digital video recorder, or otherdevice capable of transferring media to the media device 102). The datainput/output 112 may facilitate wired (e.g., universal serial bus (USB),serial, etc.) communication or wireless (e.g., Bluetooth, Wi-Fi,infrared (IR), etc.) communication. In some examples, the received mediais stored (or buffered) in the data storage device 106. The exampledevice controller 108 controls the media device 102 (e.g., in responseto input via the user interface 116) and monitors and/or controlscommunication between the media device 102 and/or other devices or thenetwork 120. The example audio/video output 114 enables a user to viewand/or hear media via the media device 102 and may include a display,speakers, etc. The user interface 116 enables a user to control themedia device 102 and may be one or more of a touchscreen, mouse,keyboard, etc.

In the illustrated example of FIG. 1 , a user may browse the network 130for media to be played via the media presenter 150. Media data isdownloaded and/or streamed from the network and forwarded to the mediacontroller 152. The media controller 152 decodes and converts the mediato media player data, which is forwarded to the media player application154. The media player application 154 generates the images of the media,and the media presenter presents the media for display via theaudio/video output 114.

The example media type identifier 110 identifies a type of mediapresented by the media presenter 150. The example media presenter 150 ofFIG. 1 may be one or more of a web browser (e.g., Internet Explorer™,Google™ Chrome™, Mozilla Firefox™, Safari™, etc.) or a media application(e.g., a Hulu™ application, a Netflix™ application, a YouTube™application, etc.). In some examples, at least one of the mediapresenter 150, media controller 152, and/or media player application 154may be a single device or element and/or combined to form a singledevice or element.

For example, the media type may be an advertisement or content. Asdescribed herein, content is one or more of programming (e.g., atelevision program, radio program, web video, etc.), media for streaming(e.g., a YouTube™ video, etc.), etc. that a user (or a robot) expects tobe presented by the media presenter 150 following a selection by theuser (e.g., via a user interface) or a selection by a robot (e.g., via aweb crawler). The media presenter 150 receives media data from thecommunication bus 101 and the media controller 152 instructs the mediaplayer application 154 to present the media according to the media dataand control signals received from the media player application 154. Insome examples, the media data corresponds to a media presentation thatincludes multiple types of media. For example, the media data receivedfrom a streamed video over the Internet may include both the content andan advertisement.

In the example of FIG. 1 , the media controller 152 retrieves and/orreceives media data to be converted and displayed by the media playerapplication 154. For example, the media controller 152 may retrieveand/or receive media data from the network interface 104 and/or the datastorage device 106 based on instructions from the device controller 108to present the corresponding media via the audio/video output 114 (e.g.,in response to a user request, or a “selection” by a web crawler). Insome examples, the media controller 152 provides the media player datato the media player application 154 for presentation in response to auser request received via the user interface 116.

In some examples of FIG. 1 in which the media device 102 is a webcrawler, the device controller 108 may automatically download and/orstream media and control playback of the media by providing instructionsto the media controller 152 and/or manipulating the controls of themedia player application 154. In some such examples, the web crawler isacting as if a user is controlling the media player application 154 toidentify how the media player reacts to certain controls being selected.For example, the device controller 108 may “act” like a user by sendinga signal that a control of the media player was “selected” (e.g., as ifa user selected the control via the user interface 116 in an attempt toactivate the control). In such examples, the media device 102, includingthe media type identifier 110, can monitor the reaction of the mediaplayer application 154 (e.g., whether or not the control is activated).In some such examples, the reaction of the media player application 154may be used to determine a control is selectable.

The example media player data may include, but is not limited to, mediapresentation data, media player control data (e.g., data indicatingwhether controls of the media player application 154 are to beselectable, enabled or disabled, etc. while presenting the media suchthat the control cannot be activated (e.g., turned on), cannot beselected (e.g., turned off), and/or cannot be adjusted), a uniformresource locator (URL) associated with the media, media source data(e.g., source of origination such as YouTube®, Hulu®, a mediaapplication, etc.), etc. The example media type identifier 110 receivesthe media player data and image data generated by the media playerapplication 154 to be displayed on the audio/video output 114. The mediatype identifier 110 determines the type of media based on the media dataand image data (e.g., whether it is an advertisement or content).

As described herein, the media identifier 110 determines a state of oneor more controls (e.g., whether the control(s) is/are selectable or not,able to be activated/deactivated, manipulated, etc.) of the media playerapplication 154. Based on the state of the controls, the identifier 110determines the type of media presented by the media player application154. In some examples, the media type identifier 110 extracts controldata from the media player data to identify whether a control is enabledor disabled.

FIG. 2 is an example media player application 154 display 200, which maybe generated and/or controlled by the media presenter 150, the mediacontroller 152, and/or media player application 154 of FIG. 1 ,presenting example media 202. The media player application 154 display200 may be presented via the media device 102 of FIG. 1 . The examplemedia player application 154 presents the display 200 to show a mediaarea 204, which displays the media 202 (e.g., advertisements, content,etc.) therein. The media player application 154 display 200 furtherincludes a play button 206 and a play/pause button 208. The play button206 is displayed at the start of playing of the media 202 (i.e., beforeplaying begins) and disappears when the media 202 is playing. Theplay/pause button 208 displays a play symbol when the media 202 is notplaying (e.g., when the media 202 is paused or stopped) and a pausesymbol (not shown) when the media 202 is playing or buffering. Theexample media player application 154 display 200 also includes aprogress bar 210, which displays to a user the current location (e.g.,time, frame, etc.) of the media 202 with respect to the beginning (thefar left side of the progress bar 210) and end (the far right side ofthe progress bar 210) of the media 202 using a progress bar indicator212.

In this example, a countdown timer 214 is also included, which displaysthe remaining time play of the media 202 when played at a predeterminedspeed. However, a count up timer may also be used independently or inconjunction with a play time indicator (e.g., the countdown timer 214)to display the play time of the media 202 relative to the beginningand/or the end of the media 202. In some examples, the progress bar 110,the progress bar indicator 112, and/or the countdown timer 214 identifytiming of content of the media 202. In the illustrated example, themedia player application 154 display 200 includes a volume control 216to control the output level of any audio content that may be part of themedia 202. Furthermore, the example media player application 154 display200 includes a closed captioning control 218 to control activation ordeactivation of closed captioning in any content that may be part of themedia 202.

In some examples disclosed herein, one or more of the media playercontrols 206-218 may be enabled or disabled based on a type of the media202. When the controls are enabled, a user can control the correspondingcontrol 206-218 (e.g., control the volume output, activate/deactivateclosed captioning, etc.). When the controls 206-218 are disabled, theuser cannot control the corresponding control 206-218 (e.g., cannotadjust volume, cannot activate fast forward, cannot activate closedcaptioning, etc.). In some examples, when the media 202 is anadvertisement, one or more of the controls 206-218 may be disabled. Forexample, a user may not be able to activate or deactivate closedcaptioning using the closed captioning control 218 when the media 202 isan advertisement. In some examples, when one or more of the controls206-218 are disabled, they appear “grayed out” (not shown) on the mediaplayer application 154 display 200.

In some examples, where the device 102 is implemented by a web crawler,the web crawler accesses web pages including one or more media playerapplication 154 display(s) 200. The example web crawler may then processone or more image(s) of the web pages to identify media playerapplication 154 display(s) 200. The example web crawler may then processimages of the identified media player application 154 display(s) 200 tocontrol and/or manipulate the media player to begin playback. In someexamples, the web crawler may attempt to select or manipulate (e.g.,activate/deactivate) the controls 206-218 by “clicking” (or performingan operation to imitate “clicking”) the corresponding buttons of thecontrols 206-218. A media identifier 110 included in the example webcrawler identifies the type of media (e.g., content, an advertisement,etc.) based on whether controls are enabled or disabled. The mediaidentifier may make such a determination by at least one or anappearance of the controls 206-218 (e.g., whether “grayed out” or not)and/or control data in the media player data.

FIG. 3 is a block diagram of an example implementation of the media typeidentifier 110 of FIG. 1 . The example media type identifier 110 of FIG.3 includes a media data monitor 302, a media presentation monitor 304, acontrol state analyzer 310, and a media type analyzer 330. The examplecontrol state analyzer 310 includes an example analyzer controller 312,an example buffer analyzer 314, an example image analyzer 316, anexample control data analyzer 318, and an example control stateidentifier 320.

The example media data monitor 302 monitors the media player datatransmitted between the media controller 152 and the media playerapplication 154. In some examples, the media data monitor 302 extractscontrol data from the media player data indicating a state (e.g.,enabled or disabled, selectable, etc.) of one or more media playercontrols (e.g., fast forward, closed captioning, etc.) of the mediaplayer application 154. In some examples, the media data monitor 302sends query messages (e.g., by attempting to select, activate, or enablea control of the media player application 154) to determine and/orretrieve control data from the media controller 152 and/or the mediaplayer application 154 (e.g., if control data is not sent to the mediaplayer after attempting to enable the control, it can be inferred thatthe control is disabled).

The example media presentation monitor 304 of FIG. 3 monitors the mediapresented by the media player application 154 by retrieving and/orreceiving image data generated by the media player application 154. Theexample media presentation monitor 304 determines whether the mediaplayer application 154 has been loaded and/or whether media (includingadvertisements and/or content) is being presented by the media playerapplication 154. In some examples, the media presentation monitor 304determines whether media is paused, is loading, or is buffering. In someexamples, the media presentation monitor 304 identifies the state of themedia player application 154 based on the images generated by the mediaplayer application 154. The media data monitor 302 and the mediapresentation monitor 304 provide the retrieved/received information frommonitoring the media player data and the image data to the control stateanalyzer 310.

The example control state analyzer 310 uses the received information todetermine the state (e.g., whether enabled or disabled, whetherselectable, etc.) of a control of the media player application 154. Theexample analyzer controller 312 forwards image data received from themedia presentation monitor 304 and forwards it to the image analyzer316. Additionally or alternatively, the example analyzer controller 312forwards control data (e.g., data indicating a status of a control ofthe media player application 154) from the media player data receivedfrom the media data monitor 302 and forwards it to the control dataanalyzer 318. In some examples, the analyzer controller 312 onlyprovides the monitored data when the buffer analyzer 314 detects thatmedia player application 154 is not buffering. For example, the bufferanalyzer 314 may perform an image analysis of the media playerapplication 154 to determine whether the media player application 154 isbuffering. The example buffer analyzer 314 may prevent the control stateanalyzer 310 from falsely identifying a state of a control due tobuffering media. For example, some example media player application 154controls may be disabled (i.e., may not be selectable, activated,deactivated, etc.) while the media player application 154 is buffering.

The example image analyzer 316 uses image processing techniques toanalyze the images of the media player application 154 (e.g., the mediaplayer application 154 display 200 of FIG. 2 ). While identifying themedia player, the example image analyzer 316 identifies media playerapplication 154 controls (e.g., fast forward, closed captioning, etc.)that a user (or a robot) may select or manipulate to control playing ofthe media. In some examples, the image analyzer 316 provides informationcorresponding to the identified controls to the control data analyzer318. For example, the image analyzer 316 may indicate to the controldata analyzer 318 that a closed captioning control is present on themedia player application 154 display 200 of FIG. 2 , and the controldata analyzer 316 may then monitor for control data corresponding toclosed captioning in the media player data. In some examples, the imageanalyzer 316 provides image data corresponding to one or more controlsto the control state identifier 320 to determine the state of the one ormore controls.

The example control data analyzer 318 analyzes control data embeddedwithin the media player data streamed between the media controller 152and the media player application 154. For example, the control data maybe a message indicating whether a control (e.g., fast forward or closedcaptioning) is selectable or whether the control can be activated,deactivated, adjusted, etc. As another example, the control data may bea bit indicator in the media player data designated to indicate whethera control is selectable. In some examples, the control data analyzer 318analyzes control messages transmitted to/from the media playerapplication 154 and forwards the communication to the control stateidentifier 320. For example, the control data analyzer 318 may determinethat a user attempted to enable an ability to activate/deactivate closedcaptioning by identifying a closed captioning request message being sentto the media controller 152 to enable closed captioning on the mediaplayer application 154, but not identifying control data in the mediaplayer data that enables the closed captioning. In this example, thecontrol state identifier 320 may infer that closed captioning isdisabled.

The example control state identifier 320 identifies the state (e.g.,enabled or disabled) of a control based on the data provided by theimage analyzer 316 and/or the control data analyzer 318. For example, ifdata from the image analyzer 316 indicates that a control buttoncorresponding to a control is “grayed out” (i.e., the button appearsgray to a user indicating that it cannot be selected) the control stateidentifier 320 determines that the control is disabled. In someexamples, the control data analyzer 318 provides the value of a bitindicator corresponding to a control and or control data correspondingto a control and the control state identifier determines the controlstate based on the control data value. For example, a value of 0 for acontrol bit indicator indicates that the control is disabled, and avalue of 1 indicates that the control is enabled. In some examples, thecontrol state identifier 320 may receive control message data. Forexample, the control state identifier may receive control messages orrequests transmitted between the media controller 152 and the mediaplayer application 154 indicating whether the control is to be enabledor disabled for corresponding media (e.g., disable for advertisement andenable for content).

The example control state analyzer 310 provides data indicating thecontrol state to the media type analyzer 330. For example, the controlstate identifier 320 provides data indicating whether a correspondingcontrol is selectable. Based on the received state of the control, theexample media type analyzer 330 determines the type of media beingpresented by the media player application 154 and/or a type of mediaincluded in the media being presented by the media player application154. For example, if the control state identifier 320 indicates that thecontrol is disabled, the media type analyzer 330 may determine that themedia is an advertisement. Alternatively, in the above example, if thecontrol state identifier 320 indicates that the control is enabled, themedia type analyzer 330 may determine that the media is the content. Insome examples, the media type analyzer 330 forwards data correspondingto the identified media type to the data output 112 of FIG. 1 forprocessing. In some such examples, a record may be stored in the datastorage device 106 and/or at the data collection facility 130 indicatingwhich videos are an identified type of media. For example, such a recordmay indicate which videos streamed from a website or via an applicationinclude an advertisement and which videos do not include anadvertisement.

While an example manner of implementing the media type identifier 110 ofFIG. 1 is illustrated in FIG. 3 , one or more of the elements, processesand/or devices illustrated in FIG. 3 may be combined, divided,re-arranged, omitted, eliminated and/or implemented in any other way.Further, the example media data monitor 302, the example mediapresentation monitor 304, the example control state analyzer 310, theexample analyzer controller 312, the example buffer analyzer 314, theexample image analyzer 316, the example control data analyzer 318, theexample control state identifier 320, the example media type analyzer330 and/or, more generally, the example media type identifier 110 ofFIG. 3 may be implemented by hardware, software, firmware and/or anycombination of hardware, software and/or firmware. Thus, for example,any of the example media data monitor 302, the example mediapresentation monitor 304, the example control state analyzer 310, theexample analyzer controller 312, the example buffer analyzer 314, theexample image analyzer 316, the example control data analyzer 318, theexample control state identifier 320, the example media type analyzer330 and/or, more generally, the example media type identifier 110 couldbe implemented by one or more analog or digital circuit(s), logiccircuits, programmable processor(s), application specific integratedcircuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or fieldprogrammable logic device(s) (FPLD(s)). When reading any of theapparatus or system claims of this patent to cover a purely softwareand/or firmware implementation, at least one of the example, media datamonitor 302, the example media presentation monitor 304, the examplecontrol state analyzer 310, the example analyzer controller 312, theexample buffer analyzer 314, the example image analyzer 316, the examplecontrol data analyzer 318, the example control state identifier 320,and/or the example media type analyzer 330 is/are hereby expresslydefined to include a tangible computer readable storage device orstorage disk such as a memory, a digital versatile disk (DVD), a compactdisk (CD), a Blu-ray disk, etc. storing the software and/or firmware.Further still, the example media type identifier 110 of FIG. 3 mayinclude one or more elements, processes and/or devices in addition to,or instead of, those illustrated in FIG. 3 , and/or may include morethan one of any or all of the illustrated elements, processes anddevices.

Flowcharts representative of example machine readable instructions forimplementing the media type identifier 110 of FIG. 3 are shown in FIGS.4, 5 , and/or 6. In this example, the machine readable instructionscomprise one or more programs for execution by a processor such as theprocessor 712 shown in the example processor platform 700 discussedbelow in connection with FIG. 7 . The one or more programs may beembodied in software stored on a tangible computer readable storagemedium such as a CD-ROM, a floppy disk, a hard drive, a digitalversatile disk (DVD), a Blu-ray disk, or a memory associated with theprocessor 712, but the programs, in whole and/or in part thereof, couldalternatively be executed by a device other than the processor 712and/or embodied in firmware or dedicated hardware. Further, although theone or more example programs is/are described with reference to theflowcharts illustrated in FIGS. 4, 5 , and/or 6, many other methods ofimplementing the example media type identifier 110 may alternatively beused. For example, the order of execution of the blocks may be changed,and/or some of the blocks described may be changed, eliminated, orcombined.

As mentioned above, the example processes of FIGS. 4, 5 , and/or 6 maybe implemented using coded instructions (e.g., computer and/or machinereadable instructions) stored on a tangible computer readable storagemedium such as a hard disk drive, a flash memory, a read-only memory(ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, arandom-access memory (RAM) and/or any other storage device or storagedisk in which information is stored for any duration (e.g., for extendedtime periods, permanently, for brief instances, for temporarilybuffering, and/or for caching of the information). As used herein, theterm tangible computer readable storage medium is expressly defined toinclude any type of computer readable storage device and/or storage diskand to exclude propagating signals. As used herein, “tangible computerreadable storage medium” and “tangible machine readable storage medium”are used interchangeably. Additionally or alternatively, the exampleprocesses of FIGS. 4, 5 , and/or 6 may be implemented using codedinstructions (e.g., computer and/or machine readable instructions)stored on a non-transitory computer and/or machine readable medium suchas a hard disk drive, a flash memory, a read-only memory, a compactdisk, a digital versatile disk, a cache, a random-access memory and/orany other storage device or storage disk in which information is storedfor any duration (e.g., for extended time periods, permanently, forbrief instances, for temporarily buffering, and/or for caching of theinformation). As used herein, the term non-transitory computer readablemedium is expressly defined to include any type of computer readabledevice or disk and to exclude propagating signals. As used herein, whenthe phrase “at least” is used as the transition term in a preamble of aclaim, it is open-ended in the same manner as the term “comprising” isopen ended.

The program 400 of FIG. 4 begins upon initiation of the media identifier110 of FIGS. 1 and/or 3 . At block 402, the media presentation monitor304 of FIG. 3 determines whether media is being presented (or isplaying) on the media player application 154. The example mediapresentation monitor 302 may determine that the media is playing on themedia player application 154 based on a state (e.g., a loading state, apaused state, etc.) of the media player application 154, whether themedia player application 154 is open on the media device 102, etc. Ifthe media presentation monitor 304 determines that media is not playingon the media player application 154, control advances to block 408. Ifthe media presentation monitor 304 determines that media is playing onthe media player application 154, control advances to block 404.

At block 404, the control state analyzer 310 determines the state of acontrol of the media player application 154. In some examples, thecontrol state analyzer 310 determines whether the control is enabled ordisabled. For example, the control state analyzer may determine that aclosed captioning control of the media player has been disabled. In someexamples, the control state analyzer 310 determines the state of acontrol of the media player using the image analyzer 316. In some suchexamples, the image analyzer 316 uses image processing techniques toidentify control indicators (e.g., the indicators identifying mediaapplication controls 206-218 of FIG. 2 ) and analyze the appearance ofthe indicators. Based on the appearance of the control indicators, thecontrol state identifier 320 can determine the state of the control,such as whether the control is enabled or disabled.

In some examples, at block 404, the control state analyzer 310determines the state of a control of the media player using the controldata analyzer 318 in addition to or as an alternative to the imageanalyzer 316. In some such examples, the control data analyzer 318identifies control data in stream of data transmitted between the mediacontroller 152 and the media player application 154. For example, thecontrol data analyzer 318 may identify messages and/or requests toenable or disable a control (e.g., one of the controls 206-218). Basedon the identified control data, such as a value of a bit indicator forthe corresponding control or a value of a control message, the controlstate identifier 320 determines the state of the control, such aswhether the control is enabled or disabled.

In some examples, the state of the control may be determined asdescribed in connection with FIG. 5 .

After identifying the state of the control (block 404), at block 406,the media type analyzer 330 determines a type of media presented by themedia player based on the state of the control. In some examples, astate of the control corresponds to the type of media being displayed.The correspondence between the state of the control and the media typemay be predefined and/or programmed into the media type analyzer 330.The type of media may be determined as described in more detail inconnection with FIG. 7 .

Following identification of the type of media (block 406), at block 408,the analyzer controller 312 determines whether to continue monitoringthe media player application 154. If the analyzer controller 312 is tono longer monitor the media player to identify a type of media presented(e.g., because of a system failure, system shutdown, etc.), then theprogram 400 ends. If the analyzer controller 312 is to continuemonitoring the media player, control returns to block 402.

FIG. 5 illustrates a program 500, which may be used to implement theblock 404 of FIG. 4 and may be executed to implement a portion of theexample control state analyzer 310 of FIG. 3 . The example program 500is identifies the state of a control (e.g., closed captioning, fastforward, etc.) of the media player application 154. The program 500begins when the control state analyzer 310 is initiated. At block 502,the buffer analyzer 314 determines whether the media player application154 is buffering media. In some examples, the buffer analyzer 314analyzes image data from the media presentation monitor 304 to determinewhether the media player is buffering. For example, the buffer analyzer314 may use image processing techniques to identify the word “buffering”or a buffering indicator in the image of the media player (e.g., themedia player application 154 display 200). The buffer analyzer 314 mayuse other appropriate techniques to determine whether the media playeris buffering data. If the media player is buffering data, control loopsat block 502 until the buffer analyzer 314 determines that the mediaplayer is no longer buffering.

At block 504 of FIG. 5 , the image analyzer 316 analyzes image datareceived from the media presentation monitor 304. At block 506, theimage analyzer 316 analyzes the image data to identify a controlindicator (e.g., a control button) in the image corresponding to acontrol (e.g., fast forward, closed captioning, etc.). The imageanalyzer 316 may use any appropriate image processing techniques toidentify the control indicator.

Following identification of a control indicator (block 506), at block508 the control data analyzer 318 monitors the media player data forcontrol data corresponding to the identified control. For example, ifthe image analyzer 316 identified the closed captioning control buttonof FIG. 2 , the control data analyzer 318 would then monitor the mediaplayer data for control data (e.g., messages/requests to activate ordeactivate closed captioning) corresponding to closed captioningcontrol.

At block 510 of FIG. 5 , the example control state identifier 320determines the state of the control based on the control data. In someexamples, at block 510, the control state identifier 320 determines thestate of the control based on control data (e.g., a bit indicator orrequest message to enable or disable the control) embedded in the mediaplayer data. In some examples, the control state identifier 320determines the state of the control based on the absence of control datain communication between the media controller 152 and the media playerapplication 154. For example, the control data analyzer 318 maydetermine that a control (e.g., the control 206-218) has been selected(e.g., by a user or a robot) based on a request to the media controller152 to activate the control. In the event that a response message toactivate the control is not sent to the media player application 154,the control state identifier 320 may infer that the control is disabled.

FIG. 6 illustrates a program 406, which may be used to implement theblock 406 of FIG. 4 and may be executed to implement the example mediatype analyzer 330 of FIG. 3 . The program 600 begins upon initiation ofthe media type analyzer 330 (e.g., following receipt of control stateinformation). In the example of FIG. 6 , the program 600 identifies atype of media based on a media player control state.

At block 602, the media type analyzer 330 determines whether the controlis enabled or disabled. If the control is disabled, at block 604 themedia type analyzer 604 determines that the media is an advertisement.If the control is not disabled (i.e., it is enabled), the media typeanalyzer 330 determines that the media is not an advertisement. In somesuch examples, the media is the content.

FIG. 7 is a block diagram of an example processor platform 700 capableof executing the instructions of FIGS. 4, 5 , and/or 6 to implement themedia identifier 110 of FIG. 3 . The processor platform 700 can be, forexample, a server, a personal computer, a mobile device (e.g., a cellphone, a smart phone, a tablet such as an iPad™, a personal digitalassistant (PDA), an Internet appliance, a DVD player, a CD player, adigital video recorder, a Blu-ray player, a gaming console, a personalvideo recorder, a set top box, or any other type of computing device.The example processor platform 700 may be used to implement the mediadevice 102 of FIG. 1 .

The processor platform 700 of the illustrated example includes aprocessor 712. The processor 712 of the illustrated example is hardware.For example, the processor 712 can be implemented by one or moreintegrated circuits, logic circuits, microprocessors or controllers fromany desired family or manufacturer.

The processor 712 of the illustrated example includes a local memory 713(e.g., a cache). The processor 712 of the illustrated example is incommunication with a main memory including a volatile memory 714 and anon-volatile memory 716 via a bus 718. The volatile memory 714 may beimplemented by Synchronous Dynamic Random Access Memory (SDRAM), DynamicRandom Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM)and/or any other type of random access memory device. The non-volatilememory 716 may be implemented by flash memory and/or any other desiredtype of memory device. Access to the main memory 714, 716 is controlledby a memory controller.

The processor platform 700 of the illustrated example also includes aninterface circuit 720. The interface circuit 720 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), and/or a PCI express interface.

In the illustrated example, one or more input devices 722 are connectedto the interface circuit 720. The input device(s) 722 permit(s) a userto enter data and commands into the processor 712. The input device(s)can be implemented by, for example, an audio sensor, a microphone, acamera (still or video), a keyboard, a button, a mouse, a touchscreen, atrack-pad, a trackball, isopoint and/or a voice recognition system. Theinput device(s) 722 may be used to implement the user interface 116 ofFIG. 1 .

One or more output devices 724 are also connected to the interfacecircuit 720 of the illustrated example. The output devices 724 can beimplemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay, a cathode ray tube display (CRT), a touchscreen, a tactileoutput device, a light emitting diode (LED), and/or speakers). Theoutput devices 724 may be used to implement the example audio/videooutput 114 of FIG. 1 . The interface circuit 720 of the illustratedexample, thus, typically includes a graphics driver card, a graphicsdriver chip or a graphics driver processor.

The interface circuit 720 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via a network726 (e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 700 of the illustrated example also includes oneor more mass storage devices 728 for storing software and/or data.Examples of such mass storage devices 728 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAIDsystems, and digital versatile disk (DVD) drives.

The coded instructions 732 of FIGS. 4, 5 , and/or 6 may be stored in themass storage device 728, in the volatile memory 714, in the non-volatilememory 716, and/or on a removable tangible computer readable storagemedium such as a CD or DVD.

From the foregoing, it will appreciate that the above disclosed methods,apparatus and articles of manufacture facilitate identification of atype of media (e.g., an advertisement) the presence of a type of mediapresented by a media player based on a state of a control of the mediaplayer application.

Although certain example methods, apparatus and articles of manufacturehave been disclosed herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

What is claimed is:
 1. A computer readable storage medium comprising instructions which, when executed, cause one or more processors to at least: determine whether a user attempted to activate a user-selectable media application control presented in a user interface while a media player application presented media; determine whether the user-selectable media application control presented in the user interface was activated; and determine at least one of the media is an advertisement or the media includes an advertisement when (a) the user attempted to activate the user-selectable media application control and (b) the user-selectable media application control presented in the user interface was not activated.
 2. The computer readable storage medium of claim 1, wherein the instructions cause the one or more processors to identify control data associated with the user-selectable media application control in a stream of data received by the media player application.
 3. The computer readable storage medium of claim 1, wherein the instructions cause the one or more processors to cause storage of data representative of the media.
 4. The computer readable storage medium of claim 1, wherein the instructions cause the one or more processors to extract control data associated with the user-selectable media application control from media player data corresponding to the media player application.
 5. The computer readable storage medium of claim 1, wherein the user-selectable media application control corresponds to at least one of a closed captioning control, a fast forward control, or a pause control.
 6. The computer readable storage medium of claim 1, wherein the instructions cause the one or more processors to communicate with a data collection entity, the communication including the determination of whether the media is an advertisement or the media includes an advertisement.
 7. The computer readable storage medium of claim 1, wherein the instructions cause the one or more processors to prevent a determination whether the media is an advertisement or the media includes an advertisement when the media player application is determined to be buffering data.
 8. The computer readable storage medium of claim 1, wherein the one or more processors is external to a device that is to implement the media player application.
 9. An apparatus comprising: memory; computer readable instructions; and processor circuitry to execute the computer readable instructions to: determine whether a user attempted to activate a user-selectable media application control presented in a user interface while a media player application presented media; determine whether the user-selectable media application control presented in the user interface was activated; and determine at least one of the media is an advertisement or the media includes an advertisement when (a) the user attempted to activate the user-selectable media application control and (b) the user-selectable media application control presented in the user interface was not activated.
 10. The apparatus of claim 9, wherein the processor circuitry is to identify control data associated with the user-selectable media application control in a stream of data received by the media player application.
 11. The apparatus of claim 9, further including a storage device to store data representative of the media.
 12. The apparatus of claim 9, wherein the processor circuitry is to extract control data associated with the user-selectable media application control from media player data corresponding to the media player application.
 13. The apparatus of claim 9, wherein the user-selectable media application control corresponds to at least one of a closed captioning control, a fast forward control, or a pause control.
 14. The apparatus of claim 9, wherein the processor circuitry is to communicate to a data collection entity, the communication including the determination of whether the media is an advertisement or the media includes an advertisement.
 15. The apparatus of claim 9, wherein the processor circuitry is to prevent the determination of whether the media is an advertisement or the media includes an advertisement when the media player application is determined to be buffering data.
 16. The apparatus of claim 9, wherein the processor circuitry is external to a device that is to implement the media player application.
 17. An apparatus comprising: means for analyzing data, the means for analyzing data to: determine whether a user attempted to activate a user-selectable media application control presented in a user interface while a media player application presented media; and determine whether the user-selectable media application control presented in the user interface was activated; and means for determining at least one of the media is an advertisement or the media includes an advertisement when (a) the user attempted to active the user-selectable media application control and (b) the user-selectable media application control presented in the user interface was not activated.
 18. The apparatus of claim 17, wherein the means for determining is to determine at least one of the media is not an advertisement or the media does not include an advertisement when (a) the user attempted to activate the user-selectable media application control and (b) the user-selectable media application control presented in the user interface was activated.
 19. The apparatus of claim 17, further including means for preventing the means for determining from determining whether the media is an advertisement or the media includes an advertisement when the media player application is determined to be buffering data.
 20. The apparatus of claim 17, wherein: the means for analyzing is external to a device that is to implement the media player application; and the means for determining is external to the device that is to implement the media player application. 